package cn.edu.ctbu.login.repository;

import cn.edu.ctbu.login.domain.Student;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;

public interface StudentRepository extends JpaRepository<Student, Integer> {
    /**
     * 按学号查询
     * @param no
     * @return
     */
    public Student findByNo(String no);
    /**
     * 按名字查询
     * @param name 字符串
     * @return
     */
    public List<Student> findByNameLike(String name);
    /**
     * 按课程号查询
     * @param cno 课程号
     * @return
     */
    public List<Student> findByCno(Integer cno);
    /**
     * 支持分页的找出所有学生
     * @param pageable 分页
     * @return
     */
    public Page<Student> findAll(Pageable pageable);
    /**
     * 根据学号查询是否存在学生记录
     * @param no 学号
     * @return
     */
    boolean existsByNo(String no);
    /**
     * 按性别查询，并分页
     * @param sex 性别
     * @param pageable 分页
     * @return
     */
    public Page<Student> findBySex(Integer sex, Pageable pageable);
    /**
     * 找出所有符号指定姓名和密码的用户
     * @param name 姓名
     * @param password 密码
     * @return
     */
    public List<Student> findByNameAndPassword(String name, String password);
}
